package com.shensi.api.admin.domian.station.dto;

import com.shensi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.List;

public class PayWayDto extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 支付id
     */
    private Long payWayId;


    /**
     * 支付方式类型
     */
    private String payType;


    /**
     * 使用类型
     */
    private String useType;


    /**
     * 应用渠道
     */
    private String appType;


    /**
     * 商户号
     */
    private String mno;


    /**
     * 是否分账
     */
    private String fusRuleStatus;


    /**
     * 分账账户号
     */
    private String fusRuleMnoArray;


    /**
     * 分账账户比例
     */
    private String fusRuleProportionArray;

    /**
     * 终端号
     */
    private String terminalNo;

    /**
     * 密钥
     */
    private String secretKey;


    /**
     * 油企id信息
     */
    private Long enterpriseId;

    /**
     * 手续费
     */
    private BigDecimal serviceCharge;

    /**
     * 通联支付的appid
     */
    private String allinpayAppId;

    /**
     * 通联支付需要的RSA密钥
     */
    private String allinpayRSAKey;

    /**
     * 通联是否班结实时到账0关闭1开启
     */
    private String tlClassFlag;

    /**
     * 通联支付所需要的油站编码
     */
    private String tlOilStationNo;

    /**
     * 通联班结的sysID
     */
    private String tlSysId;

    /**
     * 通联班结的appid
     */
    private String tlAppId;

    /**
     * 通联班结的密钥
     */
    private String tlAppKey;

    /**
     * 通联支付的班次数
     */
    private String tlClassCount;

    /**
     * 通联是否进行分账，班结实时到账，0关闭1开启
     */
    private String tlFusFlag;

    /**
     * 通联是否进行分账，班结实时到账，0关闭1开启
     */
    private String payTypeChinese;


    /**
     * 备注区分相同支付渠道下的不同商户
     */
    private String remark;

    @ApiModelProperty("渠道手续费支付方0司机/1油企")
    private String channelFeePayer;


    List<ShiftClassDto> shiftClasseList;

    public String getChannelFeePayer() {
        return channelFeePayer;
    }

    public void setChannelFeePayer(String channelFeePayer) {
        this.channelFeePayer = channelFeePayer;
    }


    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getPayTypeChinese() {
        return payTypeChinese;
    }

    public void setPayTypeChinese(String payTypeChinese) {
        this.payTypeChinese = payTypeChinese;
    }

    public List<ShiftClassDto> getShiftClasseList() {
        return shiftClasseList;
    }

    public void setShiftClasseList(List<ShiftClassDto> shiftClasseList) {
        this.shiftClasseList = shiftClasseList;
    }

    public String getTlFusFlag() {
        return tlFusFlag;
    }

    public void setTlFusFlag(String tlFusFlag) {
        this.tlFusFlag = tlFusFlag;
    }

    public String getTlClassCount() {
        return tlClassCount;
    }

    public void setTlClassCount(String tlClassCount) {
        this.tlClassCount = tlClassCount;
    }

    public String getTlClassFlag() {
        return tlClassFlag;
    }

    public void setTlClassFlag(String tlClassFlag) {
        this.tlClassFlag = tlClassFlag;
    }

    public String getTlOilStationNo() {
        return tlOilStationNo;
    }

    public void setTlOilStationNo(String tlOilStationNo) {
        this.tlOilStationNo = tlOilStationNo;
    }

    public String getTlSysId() {
        return tlSysId;
    }

    public void setTlSysId(String tlSysId) {
        this.tlSysId = tlSysId;
    }

    public String getTlAppId() {
        return tlAppId;
    }

    public void setTlAppId(String tlAppId) {
        this.tlAppId = tlAppId;
    }

    public String getTlAppKey() {
        return tlAppKey;
    }

    public void setTlAppKey(String tlAppKey) {
        this.tlAppKey = tlAppKey;
    }

    public String getAllinpayRSAKey() {
        return allinpayRSAKey;
    }

    public void setAllinpayRSAKey(String allinpayRSAKey) {
        this.allinpayRSAKey = allinpayRSAKey;
    }

    public String getAllinpayAppId() {
        return allinpayAppId;
    }

    public void setAllinpayAppId(String allinpayAppId) {
        this.allinpayAppId = allinpayAppId;
    }


    public BigDecimal getServiceCharge() {
        return serviceCharge;
    }

    public void setServiceCharge(BigDecimal serviceCharge) {
        this.serviceCharge = serviceCharge;
    }

    public Long getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(Long enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public Long getPayWayId() {
        return payWayId;
    }

    public void setPayWayId(Long payWayId) {
        this.payWayId = payWayId;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getUseType() {
        return useType;
    }

    public void setUseType(String useType) {
        this.useType = useType;
    }

    public String getAppType() {
        return appType;
    }

    public void setAppType(String appType) {
        this.appType = appType;
    }

    public String getMno() {
        return mno;
    }

    public void setMno(String mno) {
        this.mno = mno;
    }

    public String getFusRuleStatus() {
        return fusRuleStatus;
    }

    public void setFusRuleStatus(String fusRuleStatus) {
        this.fusRuleStatus = fusRuleStatus;
    }

    public String getFusRuleMnoArray() {
        return fusRuleMnoArray;
    }

    public void setFusRuleMnoArray(String fusRuleMnoArray) {
        this.fusRuleMnoArray = fusRuleMnoArray;
    }

    public String getFusRuleProportionArray() {
        return fusRuleProportionArray;
    }

    public void setFusRuleProportionArray(String fusRuleProportionArray) {
        this.fusRuleProportionArray = fusRuleProportionArray;
    }

    public String getTerminalNo() {
        return terminalNo;
    }

    public void setTerminalNo(String terminalNo) {
        this.terminalNo = terminalNo;
    }

    public String getSecretKey() {
        return secretKey;
    }

    public void setSecretKey(String secretKey) {
        this.secretKey = secretKey;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("payWayId", getPayWayId())
                .append("payType", getPayType())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }


}
